多任务学习中的Auxiliary Tasks | 您所在的位置:网站首页 › Daily Task什么意思 › 多任务学习中的Auxiliary Tasks |
简介 Auxiliary tasks 可以看作是regularization,使main tasks的performance更好。这篇论文选择road scene understanding(RSU) 作为例子。还提供了多任务的dataset,synMT。 很多CV的应用都需要单一任务的组合,例如single-image depth estimation(SIDE)、semantic segmentation、图像分类等。合起来解决时,可以提升性能,还能节省训练和推断时间。 main tasks是最终需要输出的tasks。auxiliary tasks则是为了能学到更robust、common的representation。这篇论文认为auxiliary tasks是似乎与main tasks不相关但实际上用了相似feature的tasks。 自动驾驶中,需要注意的有交通标志、地标和其他行人车辆等。还要考虑物体距离和时间等。 这个model把SIDE当作main tasks,预测时间和天气情况作为auxiliary tasks。
主要贡献:使用似乎不相关的auxiliary task作为regularization、对vision-based multi-task RSU的实现和研究、合成的dataset、多任务CNN架构。 在MTL中引入Auxiliary TasksMTL在网络的前几层找到common representation,各个任务在后几层解决各自的任务,即encoder-decoder结构。Auxiliary tasks应该容易学并且label很容易得到的。Loss function:
其中, 为可以学习的网络参数。同时,也需要regularization term.
最终的loss function为: 实验和结果 合成的dataset 使用合成的dataset,ground-truth labels有pixel-wise depth maps和semantic masks,还有时间和天气。 网络结构 将SIDE和semantic segmentation作为main tasks。SIDE的很多方法都利用了图像gradient作为feature。加入了时间回归作为auxiliary task,将光线造成的gradient和地形上造成的区隔开。预测天气情况作为第二个auxiliary task可以帮助semantic segmentation区隔雨滴、雪花或者小物体。 encoder的部分使用pre-train的model,DeepLabv3(使用ResNet和ASPP)。实作这个model,使用pre-trained的ResNet50,把1×1的convolution换成特定task的decoder。 天气分类的分支包含5×5 conv、3×3 conv 、2个3×3 conv(stride=3)、1×1conv、fc-11。使用softmax loss。 时间回归的分支除了第一个max pool,size 5×5 ,stride 5,其他相似,最后的fc-1。使用MSE loss。 因为分析交通场景中,近距离的物体更有意义,因此,相对距离为
mapping之后,原来1m到1km变为[0,1]。将d1000变为1。 时间上,考虑到24小时周期性,t的单位为分钟,则squared cyclic time difference为
这个loss为:
其中,mini-batch size为b,10^(-5)是为了scale。刚开始c_\tau为0.25。b=4,lr=1e-5,使用Adam作为optimizer。 结果如下:
在single-task的情况下,auxiliary task的结果最好。因为auxiliary task只是用来support main task的。当四个任务一起时,每个都还不错。 论文Auxiliary Tasks in Multi-task Learning |
CopyRight 2018-2019 实验室设备网 版权所有 |